<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    <title>Zend_Service_Amazon_Ec2: Elastic IP Addresses - Zend Framework Manual</title>

    <link href="../css/shCore.css" rel="stylesheet" type="text/css" />
    <link href="../css/shThemeDefault.css" rel="stylesheet" type="text/css" />
    <link href="../css/styles.css" media="all" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Zend Framework</h1>
<h2>Programmer's Reference Guide</h2>
<ul>
    <li><a href="../en/zend.service.amazon.ec2.elasticip.html">Inglês (English)</a></li>
    <li><a href="../pt-br/zend.service.amazon.ec2.elasticip.html">Português Brasileiro (Brazilian Portuguese)</a></li>
</ul>
<table width="100%">
    <tr valign="top">
        <td width="85%">
            <table width="100%">
                <tr>
                    <td width="25%" style="text-align: left;">
                    <a href="zend.service.amazon.ec2.ebs.html">Zend_Service_Amazon_Ec2: Elastic Block Storage (EBS)</a>
                    </td>

                    <td width="50%" style="text-align: center;">
                        <div class="up"><span class="up"><a href="zend.service.html">Zend_Service</a></span><br />
                        <span class="home"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></span></div>
                    </td>

                    <td width="25%" style="text-align: right;">
                        <div class="next" style="text-align: right; float: right;"><a href="zend.service.amazon.ec2.keypairs.html">Zend_Service_Amazon_Ec2: Keypairs</a></div>
                    </td>
                </tr>
            </table>
<hr />
<div id="zend.service.amazon.ec2.elasticip" class="section"><div class="info"><h1 class="title">Zend_Service_Amazon_Ec2: Elastic IP Addresses</h1></div>
    

    <p class="para">
        By default, all Amazon EC2 instances are assigned two IP addresses at
        launch: a private (RFC 1918) address and a public address that is mapped
        to the private IP address through Network Address Translation (NAT).
    </p>

    <p class="para">
        If you use dynamic DNS to map an existing DNS name to a new instance&#039;s
        public IP address, it might take up to 24 hours for the IP address to propagate
        through the Internet. As a result, new instances might not receive traffic while
        terminated instances continue to receive requests.
    </p>

    <p class="para">
        To solve this problem, Amazon EC2 provides elastic IP addresses. Elastic IP addresses
        are static IP addresses designed for dynamic cloud computing. Elastic IP addresses
        are associated with your account, not specific instances. Any elastic IP addresses
        that you associate with your account remain associated with your account until you
        explicitly release them. Unlike traditional static IP addresses, however, elastic IP
        addresses allow you to mask instance or Availability Zone failures by rapidly remapping
        your public IP addresses to any instance in your account.
    </p>

    <div class="example" id="zend.service.amazon.ec2.elasticip.allocate"><div class="info"><p><b>Example #1 Allocating a new Elastic IP</b></p></div>
        

        <div class="example-contents"><p>
            <code class="code">allocate</code> will assign your account a new Elastic IP Address.
        </p></div>

        <div class="example-contents"><p>
            <code class="code">allocate</code> returns the newly allocated ip.
        </p></div>

        <pre class="programlisting brush: php">
$ec2_eip = new Zend_Service_Amazon_Ec2_Elasticip(&#039;aws_key&#039;,&#039;aws_secret_key&#039;);
$ip = $ec2_eip-&gt;allocate();

// print out your newly allocated elastic ip address;
print $ip;
</pre>

    </div>

    <div class="example" id="zend.service.amazon.ec2.elasticip.describe"><div class="info"><p><b>Example #2 Describing Allocated Elastic IP Addresses</b></p></div>
        

        <div class="example-contents"><p>
            <code class="code">describe</code> has an optional parameter to describe all
            of your allocated Elastic IP addresses or just some of your
            allocated addresses.
        </p></div>

        <div class="example-contents"><p>
            <code class="code">describe</code> returns an array that contains information on each Elastic IP
            Address which contains the publicIp and the instanceId if it is assocated.
        </p></div>

        <pre class="programlisting brush: php">
$ec2_eip = new Zend_Service_Amazon_Ec2_Elasticip(&#039;aws_key&#039;,&#039;aws_secret_key&#039;);
// describe all
$ips = $ec2_eip-&gt;describe();

// describe a subset
$ips = $ec2_eip-&gt;describe(array(&#039;ip1&#039;, &#039;ip2&#039;, &#039;ip3&#039;));

// describe a single ip address
$ip = $ec2_eip-&gt;describe(&#039;ip1&#039;);
</pre>

    </div>

    <div class="example" id="zend.service.amazon.ec2.elasticip.release"><div class="info"><p><b>Example #3 Releasing Elastic IP</b></p></div>
        

        <div class="example-contents"><p>
            <code class="code">release</code> will release an Elastic IP to Amazon.
        </p></div>

        <div class="example-contents"><p>
            Returns a boolean <b><tt>TRUE</tt></b> or <b><tt>FALSE</tt></b>.
        </p></div>

        <pre class="programlisting brush: php">
$ec2_eip = new Zend_Service_Amazon_Ec2_Elasticip(&#039;aws_key&#039;,&#039;aws_secret_key&#039;);
$ec2_eip-&gt;release(&#039;ipaddress&#039;);
</pre>

    </div>

    <div class="example" id="zend.service.amazon.ec2.elasticip.associate"><div class="info"><p><b>Example #4 Associates an Elastic IP to an Instance</b></p></div>
        

        <div class="example-contents"><p>
            <code class="code">associate</code> will assign an Elastic IP to an
            already running instance.
        </p></div>

        <div class="example-contents"><p>
            Returns a boolean <b><tt>TRUE</tt></b> or <b><tt>FALSE</tt></b>.
        </p></div>

        <pre class="programlisting brush: php">
$ec2_eip = new Zend_Service_Amazon_Ec2_Elasticip(&#039;aws_key&#039;,&#039;aws_secret_key&#039;);
$ec2_eip-&gt;associate(&#039;instance_id&#039;, &#039;ipaddress&#039;);
</pre>

    </div>

    <div class="example" id="zend.service.amazon.ec2.elasticip.disassociate"><div class="info"><p><b>Example #5 Disassociate an Elastic IP from an instance</b></p></div>
        

        <div class="example-contents"><p>
            <code class="code">disassociate</code> will disassociate an Elastic IP from an instance.
            If you terminate an Instance it will automaticly disassociate the Elastic
            IP address for you.
        </p></div>

        <div class="example-contents"><p>
            Returns a boolean <b><tt>TRUE</tt></b> or <b><tt>FALSE</tt></b>.
        </p></div>

        <pre class="programlisting brush: php">
$ec2_eip = new Zend_Service_Amazon_Ec2_Elasticip(&#039;aws_key&#039;,&#039;aws_secret_key&#039;);
$ec2_eip-&gt;disassociate(&#039;ipaddress&#039;);
</pre>

    </div>
</div>
        <hr />

            <table width="100%">
                <tr>
                    <td width="25%" style="text-align: left;">
                    <a href="zend.service.amazon.ec2.ebs.html">Zend_Service_Amazon_Ec2: Elastic Block Storage (EBS)</a>
                    </td>

                    <td width="50%" style="text-align: center;">
                        <div class="up"><span class="up"><a href="zend.service.html">Zend_Service</a></span><br />
                        <span class="home"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></span></div>
                    </td>

                    <td width="25%" style="text-align: right;">
                        <div class="next" style="text-align: right; float: right;"><a href="zend.service.amazon.ec2.keypairs.html">Zend_Service_Amazon_Ec2: Keypairs</a></div>
                    </td>
                </tr>
            </table>
</td>
        <td style="font-size: smaller;" width="15%"> <style type="text/css">
#leftbar {
	float: left;
	width: 186px;
	padding: 5px;
	font-size: smaller;
}
ul.toc {
	margin: 0px 5px 5px 5px;
	padding: 0px;
}
ul.toc li {
	font-size: 85%;
	margin: 1px 0 1px 1px;
	padding: 1px 0 1px 11px;
	list-style-type: none;
	background-repeat: no-repeat;
	background-position: center left;
}
ul.toc li.header {
	font-size: 115%;
	padding: 5px 0px 5px 11px;
	border-bottom: 1px solid #cccccc;
	margin-bottom: 5px;
}
ul.toc li.active {
	font-weight: bold;
}
ul.toc li a {
	text-decoration: none;
}
ul.toc li a:hover {
	text-decoration: underline;
}
</style>
 <ul class="toc">
  <li class="header home"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></li>
  <li class="header up"><a href="manual.html">Guia de Refer&ecirc;ncia do Programador</a></li>
  <li class="header up"><a href="reference.html">Refer&ecirc;ncia do Zend Framework</a></li>
  <li class="header up"><a href="zend.service.html">Zend_Service</a></li>
  <li><a href="zend.service.introduction.html">Introdu&ccedil;&atilde;o</a></li>
  <li><a href="zend.service.akismet.html">Zend_Service_Akismet</a></li>
  <li><a href="zend.service.amazon.html">Zend_Service_Amazon</a></li>
  <li><a href="zend.service.amazon.ec2.html">Zend_Service_Amazon_Ec2</a></li>
  <li><a href="zend.service.amazon.ec2.instance.html">Zend_Service_Amazon_Ec2: Instances</a></li>
  <li><a href="zend.service.amazon.ec2.windows.instance.html">Zend_Service_Amazon_Ec2: Windows Instances</a></li>
  <li><a href="zend.service.amazon.ec2.reserved.instance.html">Zend_Service_Amazon_Ec2: Reserved Instances</a></li>
  <li><a href="zend.service.amazon.ec2.cloudwatch.html">Zend_Service_Amazon_Ec2: CloudWatch Monitoring</a></li>
  <li><a href="zend.service.amazon.ec2.images.html">Zend_Service_Amazon_Ec2: Amazon Machine Images (AMI)</a></li>
  <li><a href="zend.service.amazon.ec2.ebs.html">Zend_Service_Amazon_Ec2: Elastic Block Storage (EBS)</a></li>
  <li class="active"><a href="zend.service.amazon.ec2.elasticip.html">Zend_Service_Amazon_Ec2: Elastic IP Addresses</a></li>
  <li><a href="zend.service.amazon.ec2.keypairs.html">Zend_Service_Amazon_Ec2: Keypairs</a></li>
  <li><a href="zend.service.amazon.ec2.zones.html">Zend_Service_Amazon_Ec2: Regions and Availability Zones</a></li>
  <li><a href="zend.service.amazon.ec2.securitygroups.html">Zend_Service_Amazon_Ec2: Security Groups</a></li>
  <li><a href="zend.service.amazon.s3.html">Zend_Service_Amazon_S3</a></li>
  <li><a href="zend.service.amazon.sqs.html">Zend_Service_Amazon_Sqs</a></li>
  <li><a href="zend.service.audioscrobbler.html">Zend_Service_Audioscrobbler</a></li>
  <li><a href="zend.service.delicious.html">Zend_Service_Delicious</a></li>
  <li><a href="zend.service.developergarden.html">Zend_Service_DeveloperGarden</a></li>
  <li><a href="zend.service.ebay.html">Zend_Service_Ebay</a></li>
  <li><a href="zend.service.ebay.finding.html">Zend_Service_Ebay_Finding</a></li>
  <li><a href="zend.service.flickr.html">Zend_Service_Flickr</a></li>
  <li><a href="zend.service.livedocx.html">Zend_Service_LiveDocx</a></li>
  <li><a href="zend.service.nirvanix.html">Zend_Service_Nirvanix</a></li>
  <li><a href="zend.service.recaptcha.html">Zend_Service_ReCaptcha</a></li>
  <li><a href="zend.service.short-url.html">Zend_Service_ShortUrl</a></li>
  <li><a href="zend.service.simpy.html">Zend_Service_Simpy</a></li>
  <li><a href="zend.service.slideshare.html">Zend_Service_SlideShare</a></li>
  <li><a href="zend.service.strikeiron.html">Zend_Service_StrikeIron</a></li>
  <li><a href="zend.service.strikeiron.bundled-services.html">Zend_Service_StrikeIron: Bundled Services</a></li>
  <li><a href="zend.service.strikeiron.advanced-uses.html">Zend_Service_StrikeIron: Advanced Uses</a></li>
  <li><a href="zend.service.technorati.html">Zend_Service_Technorati</a></li>
  <li><a href="zend.service.twitter.html">Zend_Service_Twitter</a></li>
  <li><a href="zend.service.windowsazure.html">Zend_Service_WindowsAzure</a></li>
  <li><a href="zend.service.windowsazure.storage.blob.html">Zend_Service_WindowsAzure_Storage_Blob</a></li>
  <li><a href="zend.service.windowsazure.diagnostics.manager.html">Zend_Service_WindowsAzure_Diagnostics_Manager</a></li>
  <li><a href="zend.service.windowsazure.storage.queue.html">Zend_Service_WindowsAzure_Storage_Queue</a></li>
  <li><a href="zend.service.windowsazure.storage.table.html">Zend_Service_WindowsAzure_Storage_Table</a></li>
  <li><a href="zend.service.yahoo.html">Zend_Service_Yahoo</a></li>
 </ul>
 </td>
    </tr>
</table>

<script type="text/javascript" src="../js/shCore.js"></script>
<script type="text/javascript" src="../js/shAutoloader.js"></script>
<script type="text/javascript" src="../js/main.js"></script>

</body>
</html>